Generally, communication protocols are used to define rules to enable two or more communication devices to transmit information between one another. The communication protocols can include rules for dictating how data is formatted for data transmissions, address formats for data transmission, address mapping, routing, detection of transmission errors, acknowledgements, loss of information, direction of information for flow, sequence of control, flow control, etc. Each communication protocol is standardized to be used in the same manner over a variety of enabled communication devices in a communication system. Similarly, the devices in a communication network can agree upon a particular communication protocol to use for communications over the network. Some traditional network protocols include Transmission Control Protocol (TCP), File Transfer Protocol (FTP), SMTP, Hyper Text Transfer Protocol (HTTP), Post Office Protocol (POP), Point to Point Protocol (PPP), Bluetooth low energy (BLE) etc. These communication protocols can be used to create a network and to transmit data between devices on the network in a standardized format. As the number of devices within communication systems grows, there is a need to use communication protocols to organize network topologies to reliably transmit data between a source node and a destination node while passing the data between a number of intermediary nodes. In particular, logical network topologies are determined by network communication protocols and are designed to reliably and efficiently transmit data between a source and a destination nodes over a communication system of devices when the source and destination devices are not capable of communicating directly with one another (e.g., out of range for wireless communications, not sharing a direct wired connection, etc.).
One example of a conventional network topology is a mesh network. In a mesh network, all mesh nodes cooperate in the distribution of data in the network using a combination of a flooding technique or a routing technique. However, this methodology experiences some shortcomings. A mesh network is implemented such that each node needs to be configured to send and receive data. Having each node configured to send and receive data requires each device to have a consistent power source due to high power usage. Power usage is greater for reception than transmission because to receive data, the node has to be constantly listening for data transmissions and then receive those transmissions. The larger the number of nodes in the network, the greater the power demand for the overall communication system. Accordingly, there is a need for a robust, low-power transmission of data from a source to a destination in challenging environments.